home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1999 February / Macworld (1999-02).dmg / Games World / SharewareGames / Xconq 7.2.2 / lib / africa.g < prev    next >
Text File  |  1998-05-22  |  8KB  |  411 lines

  1. (game-module "africa"
  2.   (blurb "base module for African exploration")
  3.   )
  4.  
  5. ;;; Unit types.
  6.  
  7. (unit-type explorer
  8.   (help "the intrepid explorer, along with trusted assistants"))
  9.  
  10. ; add bearers and warriors?
  11.  
  12. (unit-type horse
  13.   )
  14.  
  15. (unit-type camel
  16.   )
  17.  
  18. (unit-type antelope (image-name "eland")
  19.   )
  20.  
  21. (unit-type zebra
  22.   )
  23.  
  24. (unit-type gnu
  25.   )
  26.  
  27. (unit-type giraffe
  28.   )
  29.  
  30. (unit-type buffalo
  31.   )
  32.  
  33. (unit-type hippo
  34.   )
  35.  
  36. (unit-type rhino
  37.   )
  38.  
  39. (unit-type elephant
  40.   )
  41.  
  42. (unit-type crocodile
  43.   (help "found around water, often deadly"))
  44.  
  45. (unit-type lion
  46.   (help "king of beasts, dangerous to tangle with"))
  47.  
  48. (define domestic (horse camel))
  49.  
  50. (define herd (antelope zebra gnu giraffe elephant))
  51.  
  52. (define solitary (buffalo hippo rhino))
  53.  
  54. (define carnivorous (crocodile lion))
  55.  
  56. (define animals (append domestic herd solitary carnivorous))
  57.  
  58. (add herd possible-sides "independent")
  59. (add solitary possible-sides "independent")
  60. (add carnivorous possible-sides "independent")
  61.  
  62. (unit-type carcass (image-name "ruins")
  63.   (help "what's left when an animal is killed"))
  64.  
  65. (unit-type canoe (image-name "ap")
  66.   )
  67.  
  68. (unit-type ship (image-name "ap")
  69.   )
  70.  
  71. (unit-type tribe (image-name "horde")
  72.   (help "a native African tribe"))
  73.  
  74. (unit-type village (image-name "village")
  75.   (help "a native African settlement"))
  76.  
  77. (unit-type town (image-name "town20")
  78.   (help "civilization's toehold in Africa"))
  79.  
  80. (unit-type city (image-name "city18")
  81.   (help "a European city with all the amenities"))
  82.  
  83. (define places (village town city))
  84.  
  85. ;;; Material types.
  86.  
  87. (material-type water
  88.   (help "animals and people must have plenty of water"))
  89.  
  90. (material-type food
  91.   (help "what people eat"))
  92.  
  93. ;;; Terrain types.
  94.  
  95. (terrain-type sea (char ".")
  96.   )
  97. (terrain-type lake (image-name "shallows") (char ",")
  98.   )
  99. (terrain-type swamp (char "=")
  100.   (help "flat terrain with standing water and vegetation"))
  101. (terrain-type desert (char "~")
  102.   (help "dry terrain, no water or food"))
  103. (terrain-type plains (char "+")
  104.   )
  105. (terrain-type forest (char "%")
  106.   )
  107. (terrain-type mountains (char "^")
  108.   )
  109. (terrain-type wide-river (image-name "shallows") (char "-")
  110.   (help "miles-wide river"))
  111. (terrain-type salt-lake (image-name "shallows") (char ",")
  112.   )
  113. (terrain-type hills (char "^")
  114.   )
  115. (terrain-type forested-hills (image-name "forest") (char "%")
  116.   )
  117. (terrain-type river (char "<")
  118.   (subtype connection)
  119.   (help "canoe-able river"))
  120.  
  121. (define water-t* (sea lake wide-river salt-lake))
  122.  
  123. (define land-t* (desert plains forest mountains hills forested-hills))
  124.  
  125. (define cell-t* (append water-t* land-t*))
  126.  
  127. (add water-t* liquid true)
  128.  
  129. ;; Everything is measured in feet.
  130.  
  131. (add t* elevation-min 0)
  132. (add t* elevation-max 4000)
  133. (add mountains elevation-max 4001)
  134. (add mountains elevation-max 20000)
  135. (add sea elevation-max 0)
  136.  
  137. (area (cell-width 52800))
  138.  
  139. ;;; Static relationships.
  140.  
  141. (table vanishes-on
  142.   (explorer water-t* true)
  143.   (animals water-t* true)
  144.   (ship land-t* true)
  145.   (tribe water-t* true)
  146.   (places water-t* true)
  147.   )
  148.  
  149. ;;; Unit-unit capacities.
  150.  
  151. (add places capacity 20)
  152. (add ship capacity 2)
  153.  
  154. (table unit-size-as-occupant
  155.   ;; Disable occupancy by default.
  156.   (u* u* 100)
  157.   (explorer places 1)
  158.   (explorer ship 1)
  159.   (canoe places 1)
  160.   (ship places 1)
  161.   )
  162.  
  163. ;;; Unit-terrain capacities.
  164.  
  165. ;; Limit units to 16 in one cell, for the sake of playability and
  166. ;; and drawability.  Only towns and cities cover the entire cell.
  167.   
  168. (add t* capacity 16)
  169.  
  170. (table unit-size-in-terrain
  171.   (u* t* 1)
  172.   ((town city) t* 16)
  173.   )
  174.  
  175. ;;; Unit-material capacities.
  176.  
  177. (table unit-storage-x
  178.   (explorer water 14)
  179.   (ship water 900)
  180.   (tribe water 50)
  181.   (places water (100 900 900))
  182.   (explorer food 20)
  183.   (animals food 100)
  184.   )
  185.  
  186. ;;; Vision.
  187.  
  188. (add explorer already-seen 100)
  189. (add places already-seen 100)
  190.  
  191. (add places already-seen-independent 100)
  192.  
  193. (table see-chance-adjacent
  194.   ;; Crocodiles are always hard to see.
  195.   (u* crocodile 10)
  196.   ;; Lions can be hard to see sometimes.
  197.   (u* lion 50)
  198.   )
  199.  
  200. ;;; Actions.
  201.  
  202. (add explorer acp-per-turn 7)
  203. (add animals acp-per-turn 7)
  204. (add domestic acp-per-turn 11)
  205. (add carcass acp-per-turn 1)
  206. (add canoe acp-per-turn 14)
  207. (add ship acp-per-turn 140)
  208. (add places acp-per-turn 0)
  209.  
  210. ;;; Movement.
  211.  
  212. (add carcass speed 0)
  213. (add places speed 0)
  214.  
  215. (table mp-to-enter-terrain
  216.   (explorer t* 1)
  217.   (explorer water-t* 99)
  218.   (explorer swamp 3)
  219.   (explorer (forest mountains) 2)
  220.   (animals water-t* 99)
  221.   (canoe t* 99)
  222.   (ship land-t* 999)
  223.   )
  224.  
  225. (table mp-to-leave-terrain
  226.   (explorer water-t* 99)
  227.   (explorer swamp 4)
  228.   (explorer (forest mountains) 2)
  229.   (animals water-t* 99)
  230.   (canoe t* 99)
  231.   (ship land-t* 999)
  232.   )
  233.  
  234. (table mp-to-traverse
  235.   (canoe (lake wide-river) 1)
  236.   )
  237.  
  238. (add explorer free-mp 7)
  239.  
  240. ;; Ships are not the explorers' personal yachts; they can only pick up and
  241. ;; drop off at towns or cities.
  242.  
  243. (table ferry-on-entry
  244.   (ship explorer over-nothing)
  245.   )
  246.  
  247. (table ferry-on-departure
  248.   (ship explorer over-nothing)
  249.   )
  250.  
  251. (table zoc-range
  252.   (u* u* 0)
  253.   (explorer u* -1)
  254.   (animals u* -1)
  255.   )
  256.  
  257. (table can-enter-independent
  258.   (explorer places true)
  259.   (ship (town city) true)
  260.   )
  261.  
  262. ;;; Combat.
  263.  
  264. (add u* hp-max 1)
  265. (add explorer hp-max 20)
  266. (add rhino hp-max 5)
  267. (add elephant hp-max 10)
  268.  
  269. (table hit-chance
  270.   (explorer animals 50)
  271.   ;; A human can generally take care of wild animals, but the job
  272.   ;; is not without risk!
  273.   (animals explorer 10)
  274.   )
  275.  
  276. (table damage
  277.   (explorer animals 1)
  278.   (animals explorer 1d16+1)
  279.   )
  280.  
  281. (table withdraw-chance-per-attack
  282.   ;; Most types of animals will panic and run at times.
  283.   (explorer animals 10)
  284.   ;; Herd animals survive by running away all the time.
  285.   (explorer herd 90)
  286.   ;; Native tribes may run also.
  287.   (explorer tribe 10)
  288.   )
  289.  
  290. (table retreat-chance
  291.   ;; Most animals will run away if hurt.
  292.   (explorer animals 30)
  293.   )
  294.  
  295. ;; Dead animals leave carcasses that can be used for food.
  296.  
  297. (add animals wrecked-type carcass)
  298.  
  299. (table capture-chance
  300.   ;; Not too hard to "capture" a dead body.
  301.   (explorer carcass 100)
  302.   )
  303.  
  304. ;;; Other Actions.
  305.  
  306. (add carcass acp-to-disband 1)
  307.  
  308. (add carcass hp-per-disband 1)
  309.  
  310. (table recycleable-material
  311.   (carcass food 100)
  312.   )
  313.  
  314. ;;; Production.
  315.  
  316. (table base-production
  317.   (explorer water 8)
  318.   ;; Most terrain will have rabbits and birds and such, that don't require
  319.   ;; taking on the big game.
  320.   (explorer food 1)
  321.   )
  322.  
  323. (table productivity
  324.   (explorer t* 100)
  325.   (explorer (sea desert salt-lake) 0)
  326.   )
  327.  
  328. (table base-consumption
  329.   (explorer water 7)
  330.   (explorer food 3)
  331.   )
  332.  
  333. (table hp-per-starve
  334.   ;; Lack of water is very dangerous.
  335.   (explorer water 4.50)
  336.   ;; Lack of food is also bad, but slower to act (the truly
  337.   ;; hungry can always find grubs and such).
  338.   (explorer food 1.00)
  339.   )
  340.  
  341. ;;; Backdrop.
  342.  
  343. (table attrition
  344.   ;; All kinds of diseases and minor accidents can happen at any
  345.   ;; time.
  346.   (explorer t* 0.10)
  347.   ;; Some kinds of terrain are worse than others.
  348.   (explorer swamp 1.50)
  349.   (explorer forest 0.75)
  350.   ;; Carcasses all disappear in a week.
  351.   (carcass t* 1.00)
  352.   )
  353.  
  354. ;; An explorer takes about 6 months to recuperate from near-fatal
  355. ;; injuries.
  356.  
  357. (add explorer hp-recovery 1.00)
  358.  
  359. ;; Set up weekly turns.
  360.  
  361. (world (year-length 52))
  362.  
  363. (set calendar '(usual week))
  364.  
  365. ;;; Initial setup.
  366.  
  367. (set sides-min 1)
  368.  
  369. (add explorer start-with 1)
  370.  
  371. (set self-required true)
  372.  
  373. (add explorer can-be-self true)
  374.  
  375. (set synthesis-methods
  376.   '(make-random-terrain make-countries make-independent-units))
  377.  
  378. (set edge-terrain sea)
  379.  
  380. (set country-radius-min 2)
  381. (set country-separation-min 16)
  382. (set country-separation-max 48)
  383. ;; Try to get countries to be on the coast.
  384. (add (sea plains) country-terrain-min (1 4))
  385.  
  386. (table favored-terrain
  387.   (u* t* 0)
  388.   (explorer plains 100)
  389.   )
  390.  
  391. (table independent-density
  392.   (herd plains 100)
  393.   (giraffe plains 50)
  394.   (camel desert 50)
  395.   (hippo (forest swamp) (100 150))
  396.   (elephant (forest swamp) (100 150))
  397.   ;; Crocodiles are a notable hazard, but in swamps only.
  398.   (crocodile swamp 1000)
  399.   (lion (plains swamp) (100 10))
  400.   (tribe (desert plains forest mountains) (10 50 50 20))
  401.   (village (plains forest mountains) (100 50 25))
  402.   )
  403.  
  404. ;; A game's starting units will be full by default.
  405.  
  406. (table unit-initial-supply (u* m* 9999))
  407.  
  408. ;; No way (yet) to do variable advantage in this game.
  409.  
  410. (set advantage-max 1)
  411.